home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 3
/
Info_Mac_1994-01.iso
/
Development
/
Source
/
MSG Demo 1.2 Source
/
MSG Demo ƒ
/
MSG Shell ƒ
/
msg apple events.c
next >
Wrap
Text File
|
1993-11-10
|
3KB
|
85 lines
/**********************************************************************\
File: msg apple events.c
Purpose: This module handles the 4 required apple events: open
application, open document & print document (not supported),
and quit application.
MSG Demo -- graphic effects demonstration program
Copyright (C) 1992-3 Mark Pilgrim & Dave Blumenthal
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program in a file named "GNU General Public License".
If not, write to the Free Software Foundation, 675 Mass Ave,
Cambridge, MA 02139, USA.
\**********************************************************************/
#include "msg apple events.h"
#include "msg environment.h"
void SetUpAppleEvents(void)
{
AEInstallEventHandler(kCoreEventClass, kAEOpenApplication,
HandleOpenAppAE, 0, FALSE);
AEInstallEventHandler(kCoreEventClass, kAEOpenDocuments,
HandleOpenDocAE, 0, FALSE);
AEInstallEventHandler(kCoreEventClass, kAEPrintDocuments,
HandlePrintDocAE, 0, FALSE);
AEInstallEventHandler(kCoreEventClass, kAEQuitApplication,
HandleQuitAE, 0, FALSE);
AESetInteractionAllowed(kAEInteractWithAll);
}
pascal OSErr HandleOpenAppAE(const AppleEvent *theAppleEvent, const AppleEvent *reply,
long refcon)
{
return MyGotRequiredParams(theAppleEvent);
}
pascal OSErr HandleOpenDocAE(const AppleEvent *theAppleEvent, const AppleEvent *reply,
long refcon)
{
return errAEEventNotHandled;
}
pascal OSErr HandlePrintDocAE(const AppleEvent *theAppleEvent, const AppleEvent *reply,
long refcon)
{
return errAEEventNotHandled;
}
pascal OSErr HandleQuitAE(const AppleEvent *theAppleEvent, const AppleEvent *reply,
long refcon)
{
OSErr isHuman;
isHuman=MyGotRequiredParams(theAppleEvent);
if (isHuman==noErr)
gDone = 1;
return isHuman;
}
pascal OSErr MyGotRequiredParams(const AppleEvent *theAppleEvent)
{
DescType returnedType;
Size actualSize;
return (AEGetAttributePtr(theAppleEvent, keyMissedKeywordAttr, typeWildCard,
&returnedType, 0L, 0, &actualSize)==errAEDescNotFound) ? noErr :
errAEParamMissed;
}